Measuring web site satisfaction of information needs using page traffic profile

ABSTRACT

A method, system, and computer program product for measuring web site satisfaction of information needs are provided. The method includes: selecting a page for analysis; generating a page profile in the form of a list of keywords representing the page; generating a page traffic profile in the form of lists of keywords representing information needs of users, wherein the page traffic profile is generated from keywords used by users to visit the page; determining the success of users&#39; visits to the page; and analyzing whether a page satisfies users&#39; information needs by applying a distance measure between the keywords of the page profile and the keywords of the page traffic profile and combining the distance measure result with a success rate of the keywords.

BACKGROUND

This invention relates to the field of web site analysis. In particular,the invention relates to measuring web site satisfaction of informationneeds.

The purpose of web analytics tools is the measurement, collection,analysis and reporting of internet data for purposes of understandingand optimizing web usage. A known web analytics tool is Google Analytics(Google is a trade mark of Google, Inc.).

Web analytics tools measure all kinds of key performance indicators(KPIs) (for example, hit rate and bounce rate) that measure theeffectiveness of pages from the site, together with some global measureslike the most popular browsing paths into a site's hypertext.

In addition, web analytics tools allow discovery of the terms that whenused by users in internet search engine queries have brought them to aspecific site.

Web analytics tools also allow measurement of whether some targets arereached by users visiting a site. For example, a site may assume thatthe information need of a user is fulfilled by a page whenever the userstays at least 30 seconds before leaving it.

The measurements can be analyzed by content providers in order to tunethe content of their sites. To do so, they need to interpret those KPIsand try to figure out what are the users are looking for and why theylike or do not like what they find in the site. There is no automatedway to analyze what is the “information need” of the users browsing asite, how it evolves while browsing, and automatically detecting whetherthis information need is fulfilled or not, other than the time spent ona page.

BRIEF SUMMARY

According to a first aspect of the present invention there is provided amethod for measuring web site satisfaction of information needs,comprising: selecting a page for analysis; generating a page profile inthe form of a list of keywords representing the page; generating a pagetraffic profile in the form of lists of keywords representinginformation needs of users, wherein the page traffic profile isgenerated from keywords used by users to visit the page; determining thesuccess of users' visits to the page; analyzing whether a page satisfiesusers' information needs by comparing the page profile, the page trafficprofile, and the success of users visiting the page using keywords ofthe page traffic profile; analyzing whether a page satisfies users'information needs by applying a distance measure between the keywords ofthe page profile and the keywords of the page traffic profile andcombining the distance measure result with a success rate of thekeywords; wherein said steps are implemented in either: computerhardware configured to perform said steps, or computer software embodiedin a non-transitory, tangible, computer-readable storage medium.

A computer program product for measuring web site satisfaction ofinformation needs, the computer program product comprising: a computerreadable storage medium having computer readable program code embodiedtherewith, the computer readable program code comprising: computerreadable program code configured to: select a page for analysis;generate a page profile in the form of a list of keywords representingthe page; generate a page traffic profile in the form of lists ofkeywords representing information needs of users, wherein the pagetraffic profile is generated from keywords used by users to visit thepage; determine the success of users' visits to the page using keywordsof the page traffic profile; analyze whether a page satisfies users'information needs by applying a distance measure between the keywords ofthe page profile and the keywords of the page traffic profile andcombining the distance measure result with a success rate of thekeywords.

A system for measuring web site satisfaction of information needscomprising: a processor; a page selection component for selecting a pagefor analysis; a page profile component for generating a page profile inthe form of a list of keywords representing the page; a page trafficprofile component for generating a page traffic profile in the form oflists of keywords representing information needs of users, wherein thepage traffic profile is generated from keywords used by users to visitthe page; a success component for determining the success of users'visits to the page using keywords of the page traffic profile; and ananalysis component for analyzing whether a page satisfies users'information needs by applying a distance measure between the keywords ofthe page profile and the keywords of the page traffic profile andcombining the distance measure result with a success rate of thekeywords.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The subject matter regarded as the invention is particularly pointed outand distinctly claimed in the concluding portion of the specification.The invention, both as to organization and method of operation, togetherwith objects, features, and advantages thereof, may best be understoodby reference to the following detailed description when read with theaccompanying drawings in which:

FIG. 1 is a block diagram of a system in accordance with the presentinvention;

FIG. 2 is a block diagram of a computer system in which the presentinvention may be implemented;

FIGS. 3A and 3B are flow diagrams of a method in accordance with thepresent invention;

FIG. 4 is a flow diagram of an aspect of the method in accordance withthe present invention;

FIG. 5 is a schematic diagram of a web page analysis in accordance withthe present invention; and

FIGS. 6A and 6B are diagrams showing visualization of web page analysisin accordance with the present invention.

It will be appreciated that for simplicity and clarity of illustration,elements shown in the figures have not necessarily been drawn to scale.For example, the dimensions of some of the elements may be exaggeratedrelative to other elements for clarity. Further, where consideredappropriate, reference numbers may be repeated among the figures toindicate corresponding or analogous features.

DETAILED DESCRIPTION

In the following detailed description, numerous specific details are setforth in order to provide a thorough understanding of the invention.However, it will be understood by those skilled in the art that thepresent invention may be practiced without these specific details. Inother instances, well-known methods, procedures, and components have notbeen described in detail so as not to obscure the present invention.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

The described method, system, and computer program product provide anautomated way to compute the information need of the users visiting asite, detecting whether this information drifts while the site is beingvisited and whether it is ultimately fulfilled.

For each page, a “page profile” is computed considering the keywordsthat best describe the content of the page. In addition, for each page,the information need of the users reaching the page is computed byconsidering keywords used to reach the page either directly (forexample, through web or internal search engine queries or in-link anchortext), or indirectly (for example, through a session of several in-linksfollowed to reach a page). This is referred to as the “page trafficprofile”.

By comparing the page profile and the page traffic profile, it can beestimated whether the content of a page satisfies the information needof the users visiting it.

Keywords and lists of words are referred to and should be interpreted asincluding terms formed of words, phrases, and numerals.

Referring to FIG. 1, a block diagram shows an example embodiment of thedescribed system 100.

A web analytics system 110 is provided which may include a pageselection component 111 for selecting a page to be analyzed.

A page profile component 112 may compute a page profile in the form of alist of keywords. The page profile component 112 may include a textfeature selection algorithm 113 for generating the list of keywords forthe page.

A page traffic profile component 120 may include data from multipleusers' visits 121-123 to the selected page. The user visit data 121-123may take various different forms including text data from: internalqueries, external queries, in-links anchor text data, browsing sessions,etc. A user data component 124 may use the user visit data 121-123 togenerate a list of keywords for a user's visit to the page. The userdata component 124 may include a success component 125 for obtaining thesuccess of a user's visit to the page from a site analysis tool 150.

A site analysis tool 150 may be provided externally to the described webanalytics system 110 and collect data to track user sessions on a website, for example, using JavaScript code (JavaScript is a trade mark ofSun Microsystems, Inc.) and client cookies. Each page may have a successcriterion set by the site owner, for example, by determining the amountof time a user spent at the page, business logic rules, goals, etc.

The page traffic profile component 120 may include processing componentsfor processing the combined user visit data 121-123 to generate a pagetraffic profile in the form of a list of keywords representing users'information needs.

The processing components may include a normalization component 126 forapplying normalization to the combined lists of keywords for users'visits to the page. A clustering component 127 may be provided forclustering the users by topic or keyword or keywords to represent setsof users having the same information need. The set of clusters is thepage traffic profile.

A cluster success component 129 may be provided to compute the successrate of the cluster. The success rate of a cluster may be defined as therelative page traffic that includes the cluster term(s) in which userpage visit successfully ended (based on the success criterion set by thesite owner). “Relative page traffic” refers to those page visits out ofall page visits that were associated with the keywords that belong tothe analyzed cluster, i.e., either search keywords, in-link anchor textkeyword, etc. A cluster importance or relative success may be measuredby a combination of distance and relative success of its traffic amountcompared to other clusters.

The web analytics system 110 may include an analysis component 130 foranalyzing the page profile and the page traffic profile. The analysiscomponent 130 may include a distance measuring component 132 formeasuring the distance between keywords in the page profile and in acurrent cluster of the page traffic profile. The analysis component 130may also include a ranking component 131 for combining the distancemeasurement and the success of the cluster as determined by the clustersuccess component 129 and ranking the cluster and therefore thekeyword(s) of the cluster.

A page marking component 134 may be provided to mark the page with thekeywords of the cluster or the top keywords of the cluster indicatingthe analysis ranking result. Keywords are ranked according to theirrelative contribution to the page traffic profile and page profiledistance and the relative success rate associated with them.

A cluster top keywords component 133 may be provided to generate the topkeywords most representative of a cluster which may be used forvisualization of the analysis.

The web analytics system 110 may include a visualization component 140providing a visualization of the analysis of the page.

Referring to FIG. 2, an exemplary system for implementing aspects of theinvention includes a data processing system 200 suitable for storingand/or executing program code including at least one processor 201coupled directly or indirectly to memory elements through a bus system203. The memory elements can include local memory employed during actualexecution of the program code, bulk storage, and cache memories whichprovide temporary storage of at least some program code in order toreduce the number of times code must be retrieved from bulk storageduring execution.

The memory elements may include system memory 202 in the form of readonly memory (ROM) 204 and random access memory (RAM) 205. A basicinput/output system (BIOS) 206 may be stored in ROM 204. System software207 may be stored in RAM 205 including operating system software 208.Software applications 210 may also be stored in RAM 205.

The system 200 may also include a primary storage means 211 such as amagnetic hard disk drive and secondary storage means 212 such as amagnetic disc drive and an optical disc drive. The drives and theirassociated computer-readable media provide non-volatile storage ofcomputer-executable instructions, data structures, program modules andother data for the system 200. Software applications may be stored onthe primary and secondary storage means 211, 212 as well as the systemmemory 202.

The computing system 200 may operate in a networked environment usinglogical connections to one or more remote computers via a networkadapter 216.

Input/output devices 213 can be coupled to the system either directly orthrough intervening I/O controllers. A user may enter commands andinformation into the system 200 through input devices such as akeyboard, pointing device, or other input devices (for example,microphone, joy stick, game pad, satellite dish, scanner, or the like).Output devices may include speakers, printers, etc. A display device 214is also connected to system bus 203 via an interface, such as videoadapter 215.

Referring to FIGS. 3A and 3B, flow diagrams 300, 310 show an embodimentof the described method.

In FIG. 3A, a page may be selected 301 for analysis. A page profile maybe generated 302 as a list of keywords representing the informationfound on the page. This may be done by using a text feature selectionalgorithm (for example, Mutual Information, tf—idf weight (termfrequency—inverse document frequency), Chi-square, or Kullback-Leiblerdivergence).

A set of keywords representing the information needs of users may begenerated 303. This may be from internal and/or external queries thatenabled a user to reach a page, the text of consecutive page in-linksanchor texts that led the user to the page, etc. The success of usersvisits may also be determined 304, for example, from a site analysistool which determines a success criterion for a page such as determiningthe amount of time a user spends on a page.

The sets of keywords of all users for a page may be collected andnormalized 305. A set of clustered topics or keywords representing usershaving the same information need may be generated 306. For example,clusters may be generated from in-links, wherein given a keyword, thetraffic it accumulates is the traffic from all in-links that containthat keyword. The set of keywords of the cluster's topics or keywordsrepresents the page traffic profile for the page.

For each cluster, the success rate of the cluster may be computed 307.The computed success rate may include a relative success rate of acluster compared to the visit traffic to all the clusters; this is alsoreferred to as the cluster importance, i.e.,importance(cluster)=(#unsuccessful visits based on cluster keyword ortopic)/(#all cluster visit counts). For example, if some cluster has 30%of the visit traffic (e.g., 30 out of 100) with 40% success (12), itsrelative importance will be: (30−12)/100=18%. The final score for thecluster will be later given by the combination with the relativedistance contribution of that cluster's keyword/s

In FIG. 3B, the method continues and either all the clusters or the topk clusters that compose the page traffic profile may be selected 311.For each selected cluster 312, the distance is measured 313 betweenkeywords in the page profile and keywords in the current cluster. Therelative success rate of the cluster may be computed 314. Analysis iscarried out by combining the distance and success rate to categorize andrank the keywords 315. A list of the top keywords most representative ofthe cluster may be generated 316 and marked on the page 317 according tothe rank analysis.

It is determined 318 if there is a next cluster. If so, the method loops319 and analyzes the next cluster. If there is not a next cluster, theresults of the analysis may be displayed 320 in a visualization.

“Marginal contribution” is defined as the relative score that thekeyword contributes to the cluster with respect to relative clustersuccess rate and that keyword distance value (as calculated by adistance measure between the keyword in the page profile and the keywordin page traffic profile cluster). The final score for page analysis isbased on the aggregation of marginal contributions of all keywords inthe page traffic profile.

The method for generating a page traffic profile may be based on directtraffic to the page, for example, following a single query, or fromin-links within a site. For every page of a web site, the followinginformation obtained from a web analytics program is considered. Eachuser visit that reached the page p is characterized by a bag of wordsb_(p) composed by:

-   -   The internal and/or external queries that enabled him to reach        any page in the site.    -   The text of the consecutive page in-link anchor texts that lead        him/her from his/her start page on the site to the current page.    -   The success or failure of the visit. Given that some keyword is        associated with a current user visit to the page (e.g., keyword        on the hyperlink that sent the user to the page), if the current        user visit was successful (again, determined by the site's        internal success policy for the page goals), this success        contributes 1 to the total success count, otherwise 0.        Therefore, 30% for some keyword/cluster, for example, will mean        that 30% of page visits that where associated with that        keyword/cluster ended successfully. A relative cluster success        rate may then be determined by the success of the cluster        normalized over all the clusters.        It is assumed that the resultant keywords represent the        information need of the users browsing the page through this        direct traffic.

The page traffic profile may also be generated using indirect trafficfrom a browsing session of a user which led to the analyzed page. Let sbe a browsing session of some user which lead to page p which is beinganalyzed. Let s=l1→l2→ . . . p be the session, described using thesequence of hyperlinks l that lead the user to page p. Each hyperlink isassociated with anchor text.

In the direct traffic scenario above, it was assumed that a simple casewas provided where the user came to the page through one step or fromwithin the same site. The second embodiment of indirect traffic appliesa more generalized profiling method, in which there are several optionsto calculate the keyword importance.

For a given user, the marginal contribution of that user's session tothe page p traffic profile (which is given by the aggregating thesessions of all users that reached page p) may be calculated using thefollowing options:

-   -   Option 1: Concatenation: the compound information need that lead        the user to page p is given by simple concatenation of all        anchor text of hyperlinks the user clicked prior to reaching        page p, including possible search keywords that lead the user to        first page of the session (in case the user session was        initiated by search).    -   Option 2: Smoothing: a smoothing function is used which smoothes        the relative contribution of each session step (i.e., hyperlink        follow) to the information need of the user. Smoothing is        performed recursively on the session steps. Possible smoothing        functions are linear smoothing, decaying functions, exponential        smoothing, etc. Such smoothing gives more importance to keywords        that appear in in-link anchor text that belong to pages that are        were followed later in the session, i.e., the keyword appearance        in prior page in-link to target page get more importance that        the same keyword appearing two pages before.    -   Option 3: Combined: Similar to Option 1 combined with Option 2,        with the difference that anchor text that is related to        hyperlinks that were clicked closer to reaching page p get more        importance. This can be done using text boosting.

Referring to FIG. 4, a flow diagram 400 shows an embodiment of thedescribed method. For a page, it is analyzed whether it fulfils theinformation need of the users. The page profile in the form of the top-kkeywords that most represent the page is obtained 401 by a featureselection method.

For a cluster in the page traffic profile of a keyword or keywordsrepresenting a set of users' information need, the distance is measured402 between the keywords in the page profile and the keywords in thecurrent cluster (different text metrics like cosine similarity,Kullback-Leibler (KL) divergence/Jensen-Shannon divergence (JSD)distance can be used here). The relative success of the cluster is alsoobtained 403 as described above which reflects the success of thekeyword(s) of the cluster.

Keywords are ranked by the combination of their representativeness(based on a distance measurement method) and their success rate.

The following results may be obtained.

Case 1: If the distance is relatively low and the success rate isrelatively high 404, mark 405 this page as “Page successfully satisfyingthe information needs . . . ” listing the keywords most representativeof the cluster. This indicates that users' information needs are similarto what page content is focused about, and success rate is high, meaningthat the content properly covers the information need. The keywords areranked within this category with the keywords that contribute the leastto the distance and the highest success rate ranked highest.

Case 2: If the distance is relatively low and the success rate isrelatively low 406, mark 407 this page as “Page not successful insatisfying the information needs of . . . ” listing the keywords mostrepresentative of the cluster. The keywords are ranked within thiscategory. This indicates that users have some information need that isnot satisfies by the visited page, even though the page was expected tosatisfy the users, due to the small distance. In this case, keywordsthat contribute the least to the distance and have the lowest successrate are ranked first.

Case 3: If the distance is relatively high and the success rate isrelatively high 408, mark 409 this page as “Page presenting an interestdrift for information need . . . ” listing the keywords mostrepresentative of the cluster. “Interest drift” means that althoughusers come with an initial information need, pages still manage tosatisfy the information need of users, which apparently “changed” whenthey visit the page. The keywords are ranked within this category. Inthis case, keywords that contribute the most to the distance (i.e. highKL values are now considered compared to the previous cases where low KLvalues were considered) and have the highest success rate are rankedhigher.

Case 4: If the distance is relatively high and the success rate isrelatively low 410, mark 411 this page as “Page not successful insatisfying the information needs of . . . ” listing the keywords mostrepresentative of the cluster. This is the classic case where it isdetected that users' information needs are not satisfied due to pagecontent that apparently does not cover user needs. The keywords areranked within this category. In this case, keywords which contribute themost to the distance and have the lowest success rate will be rankedhigher.

References to “relatively” low and high related to relativeness measuredto the other pages of the site.

The marked page can now be returned to the site administrator ordered bydistance and/or success rate. The administrator will use thisinformation to understand how to improve the content of the site. Inparticular, the content of the pages not satisfying the information needof the people browsing them should be modified.

Referring to FIG. 5, a schematic diagram 500 shows an embodiment of thedescribed method. A target page 501 to be analyzed is shown. In thisexample, it is a page called “Great Brand 1 Offers!”. The success of auser visit may be determined, for example, if the session time isgreater than one minute in duration.

Visit rates from other pages 502, 503, 504 are determined as theinformation needs in this example are extracted from anchor text data.In this example, a page 502 “Telco Brand 1 sale” has 10 visits from itto the target page 501. A page 503 “See Telco Brand 1 offers” has 25visits from it to the target page 502. A page 504 “Telco phone models”has 2 visits from it to the target page 501.

A page traffic profile 510 is generated with a list of keywords 511,each keyword's weight 512 obtained by the distance measurement methoddescribed above, each keyword's visit rate 513, and each keyword'ssuccess rate 514, and keyword marginal contribution 515 to the distanceto the page profile.

A page profile 520 is generated with a list of keywords 521, and eachkeyword's weight 522 as obtained by the feature selection methoddescribed above.

The page traffic profile 510 and the page profile 520 may be visualizedas tag clouds using the keywords' weights as shown in relation to FIGS.6A and 6B.

A page traffic analyzer 530 analyzes the inputs of the page trafficprofile 510 and the page profile 520 and insights 531 for the page areoutput including information need coverage of the page, in-link anchortext analysis, page abandonment analysis, recommendations, etc.

Content satisfiability measures how well a given content (e.g., set ofweb documents) satisfies some information need profile. Satisfaction ofthe information need profile can be measured using content analysismethods such as content coverage analysis, measuring for example thedistance between information needs embedded within query logs to thecontent that is returned for each query.

Visualization of content satisfiability is important for purposes ofcontent and web analytics. For example, given some profile that expresssome web site user information needs, and some content for examinationof its satisfiability, such visualization can help a web master to tracethe drawbacks of the current content management policy on his managedweb site. Though, existing visualization tools such as tag clouds lacksemantics of satisfiability. Also, since satisfiability depends on boththe information need profile and the content examined, new ways tovisualize such satisfiability are required which can help to immediatelytrace problematic content areas that need more attention.

As another example, content providers can use such visualization todenote content popularity (using tag clouds) with satisfiabilitygraphical annotations that can explain users which content is currentlyavailable on site and which is not, etc.

A visualization is described for content satisfiability measures,extending the traditional tag-cloud paradigm with new type of cloudannotations that denote satisfiability levels and satisfiabilityrelationships between user information needs and content that issupposed to cover such needs.

Referring to FIGS. 6A and 6B, example embodiments of visualization areshown. In these examples, a tag cloud is generated from a given pagein-links anchor text that represent the information needs of users thatvisit that page.

In FIG. 6A, the upper bi-colored tag cloud 601 represents a page trafficprofile and has keywords drawn in different font sizes according totheir frequency, in this case traffic rate to the page. A first color610 is used to represent topics that are well covered (for example,green) and a second color 620 is used to represent topics that are notwell satisfied in the system (for example, red).

In this example, keywords: IBM 611, Business 612, Search 613, Redhat614, HR 615 and Lotus Notes 616 are displayed in the first color 610indicating that they are well covered in the page traffic profile. Thekeywords: Infosphere 8.1 621, ISBN 622, Cloud Computing 623, VMware 624,Business Guidelines 625, Schedule 626, and Sametime Plugins 627 aredisplayed in the second color 620 indicating that they are not wellcovered in the page traffic profile. (IBM, Lotus Notes, Infosphere, andSametime are trade marks of International Business Machines Corporation;VMware is a trade mark of VMware, Inc.; Redhat is a trade mark of RedHat, Inc.)

An additional graphical satisfiability annotation that could be used inorder to denote the level of satisfiability is different fonttransparency levels, where a topic that is not well satisfied isrepresented using a more transparent red font, while a topic bettercovered is represented with a bolder green font.

A topic with large size font colored in red means that there is a lot oftraffic to that page related to that topic, but currently the page doesnot satisfy that information need that well (the additional fonttransparency level would denote how much).

Note that as an alternative to annotation of satisfiability usingtransparency level, a more general color scale (with labels per colorexplaining the satisfiability level) could be used to denote a more finegranular measure.

For the site usage analysis purposes, such visualization furtherprovides another tag cloud 602 visualizing a web page profile that isalso colored to indicate for each keyword how representative it is withrespect to the examined page content. A first color 630 is used todenote good representative terms (for example, green) and a second color640 is used to denote terms that might not be good for that page forpurposes of content satisfiability (for example, orange).

For example, the keywords: IBM 631, Business 632, Search 633, Redhat634, HR 635, Lotus Notes 636 are displayed in the first color 630indicating that the keywords are representative of the page content. Thekeywords: Data Mart 641, Model 642, WebSphere 643, Portal 644, IBMMashupHub 645, Interface 646, Tivoli 647 are displayed in the secondcolor 640 indicating that the keywords are not representative of thepage content. (WebSphere, Tivoli, MashupHub are trade marks ofInternational Business Machines Corporation)

Referring to FIG. 6B, the relationship between the tag cloud for thepage traffic profile 601 indicating the user information needs to thetag cloud for the page profile 602 is visualized using color scaledarrows 651-655. Arrow width represents traffic size to the page throughthat hyperlink Arrow colour represents calculation of success rate basedon page traffic profile keyword that appear on that hyperlink anchortext (For example, the better satisfied, the greener/lighter the colouris, the worse it is, the redder/bolder the colour is). For example, anarrow for “IBM lotus notes” 651 is a wide green arrow indicating thatthe keywords IBM and lotus notes are both well represented in the pagetraffic profile 601 and the page profile 602.

For information need given by in-links anchor text, the visualizationfurther provides means of navigation over such links with respect tocontent satisfiability, where by clicking on one of the keywords in anyof the tag clouds (IBM) in the illustrated example, in-links that relatethe information need profile to the page content profile are displayed,widen according to their popularity (i.e., page traffic) which color isdetermined by the set of keywords of that consist of the in-link anchortext and their satisfiability level. For example, the “IBM lotus note”in-link has highest traffic to that page and all its topic aspects(i.e., IBM and “lotus notes”) are well satisfied by that page, andtherefore, the page is fully colored in green.

A system for measuring web site satisfaction of information needs and/ora visualization system may be provided as a service to a customer over anetwork.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention are described above with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

1. A computer-implemented method for measuring web site satisfaction ofinformation needs, performed by a processor, comprising: selecting apage for analysis; generating a page profile in the form of a list ofkeywords representing the page; generating a page traffic profile in theform of lists of keywords representing information needs of users,wherein the page traffic profile is generated from keywords used byusers to visit the page; determining the success of users' visits to thepage using keywords of the page traffic profile; and analyzing whether apage satisfies users' information needs by applying a distance measurebetween the keywords of the page profile and the keywords of the pagetraffic profile and combining the distance measure result with a successrate of the keywords, wherein generating a page traffic profileincludes: clustering keywords used to visit the page of multiple usersto generate a list of keywords representing a group of users'information needs; and computing a relative success rate of a cluster ofkeywords.
 2. The method as claimed in claim 1, wherein the distancemeasure and the success rate are measured relative to other pages on theweb site of the selected page.
 3. The method as claimed in claim 1,wherein determining the success of users' visits to the page is carriedout by determining if a visit meets an internal success criterion basedon one or more of: time spent on page, business logic rules, goals. 4.The method as claimed in claim 1, wherein generating a page profile usesa text feature selection method to determine the keywords representingthe page.
 5. The method as claimed in claim 1, wherein generating a pagetraffic profile considers direct traffic to a page including one or moreof the group of: query keywords used to reach the page; in-links anchortext used to reach the page.
 6. The method as claimed in claim 1,wherein generating a page traffic profile considers indirect traffic toa page wherein indirect traffic follows a path through multiple steps inthe form of pages or in-links to a page.
 7. The method as claimed inclaim 6, wherein the page traffic profile includes one or more of thegroup of: concatenation of anchor text of hyperlinks used to reach thepage and/or query keywords used in an initial query resulting in abrowsing session reaching the page, smoothing of relative contributionsof each session step, relative boosting of results closer to the endpage.
 8. The method as claimed in claim 1, wherein analyzing whether apage satisfies users' information needs considers a distance measurementbetween the list of keywords of the page profile and the list ofkeywords of a cluster, and the success of the cluster relative to otherpages.
 9. The method as claimed in claim 1, including: displaying avisualization of the analysis including: displaying a first tag cloud ofthe list of keywords of the page profile with a scaled representation ofhow representative the keyword is of the page content; displaying asecond tag cloud of the list of keywords of the page traffic profilewith a scaled representation of how well satisfied the keyword is in thepage content.
 10. The method as claimed in claim 9, wherein in the firsttag cloud different colors are used to represent scales of wellrepresented keywords and scales of poorly represented keywords.
 11. Themethod as claimed in claim 9, wherein in the second tag cloud differentcolors are used to represent scales of well satisfied the keywords inthe page content and scales of poorly satisfied keywords in the pagecontent.
 12. A computer-implemented method for measuring web sitesatisfaction of information needs, performed by a processor, comprising:selecting a page for analysis; generating a page profile in the form ofa list of keywords representing the page; generating a page trafficprofile in the form of lists of keywords representing information needsof users, wherein the page traffic profile is generated from keywordsused by users to visit the page; determining the success of users'visits to the page using keywords of the page traffic profile; andanalyzing whether a page satisfies users' information needs by applyinga distance measure between the keywords of the page profile and thekeywords of the page traffic profile and combining the distance measureresult with a success rate of the keywords, wherein: if the distancemeasure is relatively low and the success rate is relatively high it isdetermined that the page satisfies the information need for a keyword;and the method includes returning a ranked list of keywords in thiscategory for the page.
 13. A computer-implemented method for measuringweb site satisfaction of information needs, performed by a processor,comprising: selecting a page for analysis; generating a page profile inthe form of a list of keywords representing the page; generating a pagetraffic profile in the form of lists of keywords representinginformation needs of users, wherein the page traffic profile isgenerated from keywords used by users to visit the page; determining thesuccess of users' visits to the page using keywords of the page trafficprofile; and analyzing whether a page satisfies users' information needsby applying a distance measure between the keywords of the page profileand the keywords of the page traffic profile and combining the distancemeasure result with a success rate of the keywords, wherein: if thedistance measure is relatively low and the success rate is relativelylow it is determined that the page does not satisfy the information needfor a keyword; and the method includes returning a ranked list ofkeywords in this category for the page.
 14. A computer-implementedmethod for measuring web site satisfaction of information needs,performed by a processor, comprising: selecting a page for analysis;generating a page profile in the form of a list of keywords representingthe page; generating a page traffic profile in the form of lists ofkeywords representing information needs of users, wherein the pagetraffic profile is generated from keywords used by users to visit thepage; determining the success of users' visits to the page usingkeywords of the page traffic profile; and analyzing whether a pagesatisfies users' information needs by applying a distance measurebetween the keywords of the page profile and the keywords of the pagetraffic profile and combining the distance measure result with a successrate of the keywords, wherein: if the distance measure is relativelyhigh and the success rate is relatively high it is determined that thepage presents an interest drift for an information need for a keyword;and the method includes returning a ranked list of keywords in thiscategory for the page.
 15. A computer-implemented method for measuringweb site satisfaction of information needs, performed by a processor,comprising: selecting a page for analysis; generating a page profile inthe form of a list of keywords representing the page; generating a pagetraffic profile in the form of lists of keywords representinginformation needs of users, wherein the page traffic profile isgenerated from keywords used by users to visit the page; determining thesuccess of users' visits to the page using keywords of the page trafficprofile; and analyzing whether a page satisfies users' information needsby applying a distance measure between the keywords of the page profileand the keywords of the page traffic profile and combining the distancemeasure result with a success rate of the keywords, wherein: if thedistance measure is relatively high and the success rate is relativelylow it is determined that the page does not satisfy the information needfor a keyword; and the method includes returning a ranked list ofkeywords in this category for the page.
 16. A computer-implementedmethod for measuring web site satisfaction of information needs,performed by a processor, comprising: selecting a page for analysis;generating a page profile in the form of a list of keywords representingthe page; generating a page traffic profile in the form of lists ofkeywords representing information needs of users, wherein the pagetraffic profile is generated from keywords used by users to visit thepage; determining the success of users' visits to the page usingkeywords of the page traffic profile; analyzing whether a page satisfiesusers' information needs by applying a distance measure between thekeywords of the page profile and the keywords of the page trafficprofile and combining the distance measure result with a success rate ofthe keywords; and displaying a visualization of the analysis including:displaying a first tag cloud of the list of keywords of the page profilewith a scaled representation of how representative the keyword is of thepage content; displaying a second tag cloud of the list of keywords ofthe page traffic profile with a scaled representation of how wellsatisfied the keyword is in the page content; and displaying arrowsbetween the first and second tag clouds that represent the traffic, thetraffic success, and traffic satisfaction.
 17. A computer programproduct for measuring web site satisfaction of information needs, thecomputer program product comprising: a computer readable storage mediumhaving computer readable program code embodied therewith, the computerreadable program code comprising: computer readable program codeconfigured to: select a page for analysis; generate a page profile inthe form of a list of keywords representing the page; generate a pagetraffic profile in the form of lists of keywords representinginformation needs of users, wherein the page traffic profile isgenerated from keywords used by users to visit the page; determine thesuccess of users' visits to the page using keywords of the page trafficprofile; and analyze whether a page satisfies users' information needsby applying a distance measure between the keywords of the page profileand the keywords of the page traffic profile and combining the distancemeasure result with a success rate of the keywords, wherein generating apage traffic profile includes: clustering keywords used to visit thepage of multiple users to generate a list of keywords representing agroup of users' information needs; and computing a relative success rateof a cluster of keywords.
 18. A system for measuring web sitesatisfaction of information needs comprising: a processor; a pageselection component for selecting a page for analysis; a page profilecomponent for generating a page profile in the form of a list ofkeywords representing the page; a page traffic profile component forgenerating a page traffic profile in the form of lists of keywordsrepresenting information needs of users, wherein the page trafficprofile is generated from keywords used by users to visit the page; asuccess component for determining the success of users' visits to thepage using keywords of the page traffic profile; and an analysiscomponent for analyzing whether a page satisfies users' informationneeds by applying a distance measure between the keywords of the pageprofile and the keywords of the page traffic profile and combining thedistance measure result with a success rate of the keywords, wherein thepage traffic profile component includes: a clustering component forclustering keywords used to visit the page of multiple users to generatea list of keywords representing a group of users' information needs; anda cluster success component for computing a success rate of a cluster.19. The system as claimed in claim 18, including: a visualizationcomponent for displaying a visualization of the analysis including:displaying a first tag cloud of the list of keywords of the page profilewith a scaled representation of how representative the keyword is of thepage content; displaying a second tag cloud of the list of keywords ofthe page traffic profile with a scaled representation of how wellsatisfied the keyword is in the page content.
 20. The system as claimedin claim 19, wherein in the first tag cloud different colors are used torepresent scales of well represented keywords and scales of poorlyrepresented keywords.
 21. The system as claimed in claim 19, wherein inthe second tag cloud different colors are used to represent scales ofwell satisfied the keywords in the page content and scales of poorlysatisfied keywords in the page content.
 22. A system for measuring website satisfaction of information needs comprising: a processor; a pageselection component for selecting a page for analysis; a page profilecomponent for generating a page profile in the form of a list ofkeywords representing the page; a page traffic profile component forgenerating a page traffic profile in the form of lists of keywordsrepresenting information needs of users, wherein the page trafficprofile is generated from keywords used by users to visit the page; asuccess component for determining the success of users' visits to thepage using keywords of the page traffic profile; and an analysiscomponent for analyzing whether a page satisfies users' informationneeds by applying a distance measure between the keywords of the pageprofile and the keywords of the page traffic profile and combining thedistance measure result with a success rate of the keywords, wherein thepage traffic profile component includes: a clustering component forclustering keywords used to visit the page of multiple users to generatea list of keywords representing a group of users' information needs, andwherein the analysis component includes: a distance measuring componentfor measuring a distance between the list of keywords of the pageprofile and the list of keywords of a cluster generated by theclustering component.